Skip to content

Conversation

jLynx
Copy link
Owner

@jLynx jLynx commented Nov 1, 2024

Description

This PR extends the Linux updater functionality to support .deb package updates alongside the existing AppImage support. The implementation includes multiple authentication methods for package installation, providing a user-friendly update experience for Debian-based distributions.

Key Features

  • Support for both .deb packages and AppImage updates
  • Multiple privilege escalation methods:
  1. pkexec (primary, graphical)
  2. zenity for GUI password prompt
  3. Terminal-based sudo as fallback
  • Automatic detection of installation type (AppImage vs .deb)
  • Secure handling of authentication and package installation

Technical Details

  • Added new error types for authentication and installation failures
  • Implemented .deb package extraction from both direct files and tar.gz archives
  • Added helper methods for privilege escalation and authentication
  • Maintained backward compatibility with existing AppImage functionality

Expected Archive Structures

├── [AppName]_[version]_amd64.AppImage.tar.gz
   └──[AppName]_[version]_amd64.AppImage
├── [AppName]_[version]_amd64.deb.tar.gz
   └──[AppName]_[version]_amd64.deb
├── [AppName]_[version]_amd64.deb
└── ...

Testing

  • Tested on Debian-based distributions
  • Verified both .deb and AppImage update paths
  • Tested various authentication scenarios

Notes

  • Requires zenity for graphical password prompt (optional)
  • Falls back to terminal-based authentication if graphical methods fail
  • Maintains security by properly handling sensitive authentication data

@jLynx jLynx changed the title Support deb updates Add .deb Package Support to Linux Updater Nov 1, 2024
jLynx and others added 30 commits November 14, 2024 13:40
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ps#2072)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…2084)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants